home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #3 / Amiga Plus CD - 2002 - No. 03.iso / AmigaPlus / Tools / Development / renderlib40 / src / rnd_palette.h < prev    next >
Encoding:
C/C++ Source or Header  |  2002-12-21  |  906 b   |  34 lines

  1.  
  2. #ifndef _RND_PALETTE_H
  3. #define _RND_PALETTE_H
  4.  
  5. #include <utility/tagitem.h>
  6. #include <exec/memory.h>
  7.  
  8. typedef struct Palette
  9. {
  10.     ULONG table[256];
  11.     struct SignalSemaphore lock;
  12.     APTR rmh;
  13.     WORD *p2table;
  14.     ULONG p2mask, p2mask2;
  15.     UWORD numcolors;
  16.     UWORD type;
  17.  
  18. } RNDPAL;
  19.  
  20. LIBAPI RNDPAL *CreatePaletteA(struct TagItem *tags);
  21. LIBAPI void DeletePalette(RNDPAL *palette);
  22. LIBAPI void ImportPaletteA(RNDPAL *palette, APTR coltab, UWORD numcol, struct TagItem *tags);
  23. LIBAPI void ExportPaletteA(RNDPAL *palette, ULONG *coltab, struct TagItem *tags);
  24. LIBAPI void FlushPalette(RNDPAL *palette);
  25. LIBAPI WORD *GetP2Table(RNDPAL *p);
  26. LIBAPI LONG BestPen(RNDPAL *p, ULONG rgb);
  27. LIBAPI WORD P2Lookup(RNDPAL *pal, ULONG rgb);
  28. LIBAPI WORD P2Lookup2(RNDPAL *pal, WORD r, WORD g, WORD b);
  29. LIBAPI ULONG SortPaletteA(RNDPAL *p, ULONG mode, struct TagItem *tags);
  30. LIBAPI ULONG GetPaletteAttrs(RNDPAL *p, ULONG args);
  31.  
  32.  
  33. #endif
  34.